In many instances it can be necessary to produce faster, higher quality and more sophisticated rendering devices such as (e.g., printers, copiers, and the like). Additionally, customers demand the ability to reproduce their desired input images to achieve accurate output that does not vary over time (e.g., between pages or when output again at a later time) or among various rendering devices (e.g., among various printers on a network, between home and office marking devices, etc.). These considerations are more difficult to achieve with color rendering devices because of the greater number of variables involved and the sensitivity of these devices to environmental conditions, and also to issues concerning out-of-gamut colors.
In general, a gamut can be defined as the range of color that a rendering device (e.g., printer, copier, and the like) can produce, or the range of color that a color model can represent. In the color digital image processing arts, the space of colors that a printer (or other rendering device) is capable of reproducing is referred to as the “gamut” of the printer. Very often, colors specified in a digital image cannot be reproduced by a particular printer when it comes time to output the color digital image to the printer for purposes of rendering a hard copy printed output of the digital image.
The printer gamut (also referred to herein as the output gamut) is often limited when compared to the gamut of the source digital image (the input gamut) due to physical limitations of the printer's colorants. Colors in the input gamut but not in the output gamut are said to be “out-of-gamut” and must be accounted for before the digital image may be printed—i.e., areas in the output document where these colors are to be found may not simply be left blank in the final printed document.
Prior techniques for dealing with out-of-gamut colors include gamut clipping and gamut compression. In gamut clipping, all out-of-gamut colors are mapped to a color on the gamut “surface” while in-gamut colors are left unaltered. A common form of clipping involves a ray-based approach, wherein a ray is drawn from a desired out-of-gamut color to a point on a neutral axis. The location or point where the ray penetrates the gamut surface is the gamut-mapped color. Such a strategy preserves hue through the gamut-mapping operation. In gamut compression, both in-gamut and out-of-gamut colors are altered to map the entire range of image colors to the printer gamut. In practical systems, the gamut-mapping operation is often incorporated into a 3-dimensional lookup table for efficient computational processing.
A common problem in color printing is the stable rendition of colors over time. In particular, it is desirable when a color is situated near or on the boundary of a color gamut, to stabilize the resulting color rendering. Prior techniques for ensuring stable color control involve iterative closed-loop algorithms that apply a corrective feedback on 3-dimensional color signals. Such techniques can give rise to unstable or erroneous control for colors that are out-of-gamut, or on the gamut-surface.
Accordingly, it has been deemed desirable to provide a color rendering technique that overcomes the inability of traditional print engines and color rendering devices to control the printed color, particularly out-of-gamut colors given a particular gamut-mapping algorithm.